<?php


namespace app\common\validate\merchant;


use yiqiniu\extend\validate\YqnValidate;

/**
 * 商户管理部门
 * Class MerchantDepartment
 * @package app\common\validate\merchant
 */
class MerchantDepartmentValid extends YqnValidate
{

    /**
     *  字段：'id'，    类型：'bigint',    是否为空：1,    说明：
     *  字段：'mer_id'，    类型：'character varying(20)',    是否为空：1,    说明：所属商户
     *  字段：'code'，    类型：'character varying(30)',    是否为空：,    说明：部门编码
     *  字段：'title'，    类型：'character varying(50)',    是否为空：,    说明：部门名称
     *  字段：'pid'，    类型：'integer',    是否为空：,    说明：父级部门
     *  字段：'tree_path'，    类型：'character varying(20)',    是否为空：,    说明：部门路径
     *  字段：'depth'，    类型：'integer',    是否为空：,    说明：部门层级
     *  字段：'child'，    类型：'integer',    是否为空：,    说明：子部门数
     *  字段：'sort'，    类型：'integer',    是否为空：,    说明：排序
     *  字段：'is_sys'，    类型：'smallint',    是否为空：,    说明：是否系统创建  1 系统创建 0商户创建
     *  字段：'op_user'，    类型：'integer',    是否为空：1,    说明：操作人
     *  字段：'create_at'，    类型：'timestamp(0) without time zone',    是否为空：1,    说明：创建时间
     *  字段：'update_at'，    类型：'timestamp(0) without time zone',    是否为空：,    说明：更新时间
     */

    /**
     *  验证规则
     */
    protected $rule = [
        'id' => 'require|number',
        'mer_id' => 'require',
        'title' => 'require',
        'pid' => 'number',
        'depth' => 'number',
        'child' => 'number',
        'sort' => 'number',
        'is_sys' => 'number',
        'op_user' => 'require|number',
        'create_at' => 'require|date',
        'update_at' => 'date',


    ];

    /**
     * 定义错误信息
     * 格式：'字段名.规则名'    =>    '错误信息'
     *
     * @var array
     */
    protected $message = [
        'id.require' => '不能为空',
        'id.number' => '只能为数字类型',
        'mer_id.require' => '所属商户不能为空',
        'title.require' => '部门名称不能为空',
        'pid.number' => '父级部门只能为数字类型',
        'depth.number' => '部门层级只能为数字类型',
        'child.number' => '子部门数只能为数字类型',
        'sort.number' => '排序只能为数字类型',
        'is_sys.number' => '是否系统创建只能为数字类型',
        'op_user.require' => '操作人不能为空',
        'op_user.number' => '操作人只能为数字类型',
        'create_at.require' => '创建时间不能为空',
        'create_at.date' => '创建时间只能为日期类型',
        'update_at.date' => '更新时间只能为日期类型',


    ];

    //验证场景
    protected $scene = [
        // 创建
        'create' => ['title', 'pid'],
        // 修改
        'edit' => ['id', 'title', 'pid'],
        //修改排序
        'edit_sort' => ['id', 'sort'],
    ];
}
